package com.kanq.controller;

import com.kanq.common.utils.CommonUtils;
import com.kanq.pojo.entity.KanqAiPrompt;
import com.kanq.service.KanqAiPromptService;
import com.kanq.tool.R;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;

@RestController
@Slf4j
@RequestMapping("/prompt")
/**
 * 控制器类：处理与提示相关的HTTP请求
 */
public class PromptController {

    // 注入知识库提示服务，用于处理提示相关的业务逻辑
    @Resource
    private KanqAiPromptService kanqAiPromptService;

    /**
     * 处理GET请求，查询所有提示
     *
     * @return 包含所有提示的Result对象
     */
    @GetMapping("/query")
    public R queryAllPrompts() {
        // 调用业务服务获取所有提示，并返回成功结果
        return R.data(kanqAiPromptService.getPrompts());
    }

    /**
     * 处理POST请求，添加提示词
     */
    @PostMapping("/add")
    public R add(@RequestBody KanqAiPrompt kanqAiPrompt) {
        return R.status(kanqAiPromptService.save(kanqAiPrompt));
    }

    /**
     * 处理POST请求，更新提示词
     */
    @PostMapping("/update")
    public R update(@RequestBody KanqAiPrompt kanqAiPrompt) {
        return R.status(kanqAiPromptService.updateById(kanqAiPrompt));
    }


    /**
     * 删除提示词
     */
    @PostMapping("/remove")
    public R remove(@RequestParam String ids) {
        return R.status(kanqAiPromptService.removeByIds(CommonUtils.idsStrToListSeparator(ids, ",")));
    }
}

